#include <iostream>
#include <unistd.h>
#include <signal.h>
using namespace std;

void sigcb(int signum)
{
    cout << "获取了一个信号： " << signum << endl;
}
int main()
{
    signal(2, SIG_IGN);
    cout << "getpid: " << getpid() << endl;
    // 内核数据类型，用户栈定义的
    struct sigaction act, oact;
    act.sa_flags = 0; // 把这个赋为0,其它不用管
    sigemptyset(&act.sa_mask); // 清空
    act.sa_handler = sigcb;

    // 设置进当前调用进程的pcb中
    sigaction(2, &act, &oact);
    cout << "default action : " << (int)(oact.sa_handler) << endl;

    while (true)
    {
        sleep(1);
    }
    return 0;
}